Open
Conversation
aed7e3d to
79b6ad6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
21.2.1→21.2.221.2.1→21.2.221.2.2→21.2.421.2.2→21.2.421.2.2→21.2.421.2.2→21.2.421.2.2→21.2.41.0.2→1.2.03.48.0→3.49.01.268.8→1.361.11.97.3→1.98.02.6.1→2.8.13.5.0→3.6.0Release Notes
angular/angular-cli (@angular/build)
v21.2.2Compare Source
@angular/cli
@angular/build
CHROME_BINfor vitest playwright providerangular/components (@angular/cdk)
v21.2.2Compare Source
aria
angular/angular (@angular/common)
v21.2.4Compare Source
compiler
core
v21.2.3Compare Source
core
toString()representationsanity-io/image-url (@sanity/image-url)
v1.2.0Compare Source
Minor Changes
c48fd9fThanks @stipsan! - add placeholder object for when image is being uploaded (#76)Patch Changes
c7370d4Thanks @RitaDias! - - when still uploading return a placeholder image via dataurl (#84)All notable changes will be documented in this file.
v1.1.0Compare Source
Changes
frame()methodvanityName()method (thanks @Isissss!)baseUrlin builder typings (thanks @ryami333!).format(undefined)(thanks @selbekk!)zloirock/core-js (core-js)
v3.49.0Compare Source
Iterator.rangeupdated following the actual spec versionRangeErroronNaNstart/end/stepnullasoptionOrStepMath.{ asinh, atanh }polyfills with big and small valuesNumber.prototype.toExponentialpolyfills with big and small valuesatob,btoa,Uint8Array.fromHex,Uint8Array.prototype.setFromHex, andUint8Array.prototype.toHex, #1503, #1464, #1510, thanks @johnzhou721Mapupsert proposalMapupsert proposal from the pure version made generic to make it work with polyfilled and native collectionsSymbol.forinSymbol.prototype.descriptionpolyfill for correct handling of empty string descriptionsArray.prototype.includeswith sparse arrays andfromIndexIterator.prototype.take) of a V8 ~ Chromium < 126 bugIterator.{ concat, zip, zipKeyed }in the pure version for ensuring proper wrappedIteratorinstances as the result.return()on exhausted iterator from some methods of iterator helpers polyfill to the underlying iterator.return()calling in case of throwing error in this method in the internaliteratehelper that affected some polyfillsIteratorValueerrors in the internaliteratehelper that affected some polyfillsArray.frompolyfill on failure to create array propertyArray.fromAsyncpolyfillMAX_SAFE_INTEGERinArray.fromAsyncpolyfillArray.prototype.flatpolyfillIterator.{ zip, zipKeyed }polyfillsIterator.{ zip, zipKeyed }polyfills.next()results an objects inIterator.{ zip, zipKeyed }polyfillsIterator.concatpolyfill on primitive as an iteratorIterator.prototype.windowspolyfillSet.prototype.{ isDisjointFrom, isSupersetOf }polyfillSet.prototype.differencepolyfill with updatingthisDataView.prototype.setFloat16polyfill in (0, 1) rangeString.prototype.{ padStart, padEnd }polyfillsString.prototype.{ startsWith, endsWith }polyfillsInfinityhandling inString.prototype.substrpolyfillString.prototype.repeatpolyfill with a counter exceeding 2 ** 32escapepolyfillRegExpNCG polyfillRegExpNCG polyfill in combination with other types of groupsRegExpNCG polyfill in combination withdotAllString.prototype.replacewithstickypolyfill, #810, #1514RegExpstickypolyfill with alternationmultiline+stickymode inRegExppolyfill.inputslicing on result object withRegExpstickymode polyfillglobalandunicodemodes in polyfillsURLSearchParam.prototype.deletepolyfill with duplicate key-value pairsURLSearchParam.prototype.deletepolyfill with second argumentURLpolyfillURLpolyfillURLpolyfill''andnullhost handling in theURLpolyfillhostname = host:portin theURLpolyfillURLpolyfillURLpolyfillURLSearchParamspolyfillURLpolyfill (/.prefix for non-special URLs withnullhost and path starting with empty segment)URLpolyfill.origingetter withblobschemeURLSearchParams.prototype.setpolyfill on calling only with 1 argumentURLSearchParamspolyfillURLSearchParamspolyfillURLpolyfillToPropertyKeycalling inReflect.{ get, set, deleteProperty }polyfillsReflect.setpolyfill with some descriptors casesReflect.setpolyfill with some non-extensible receiver casesReflect.constructpolyfill arguments validation (observable only in the error message)Reflect.definePropertypolyfill with malformed descriptorJSON.parsepolyfill on unterminated object and array literalsJSON.parsepolyfill on numbers with., but without a fraction part\u{}inString.dedentpolyfillString.dedentpolyfill%AsyncFromSyncIteratorPrototype%to make it a little stricterAsyncIteratormethodsAsyncIterator.prototype.flatMappolyfillAsyncIterator.prototype.mappolyfill on error in underlying iterator.next()AsyncIterator.prototype.takepolyfill withreturn: null.return()result as object inAsyncIterator.prototype.takepolyfillstructuredClonepolyfill on attempt to transfer multiple objects, some of which are non-transferableArrayBuffertransferring wherenewByteLengthexceeds the originalmaxByteLengthObject.definePropertyinSymbolpolyfillObject.definePropertyinSymbolpolyfill in Android ~ 2%TypedArray%.fromarguments validationArrayBufferand a negative length to the%TypedArray%andDataViewconstructors polyfills@@​toStringTagon%TypedArray%polyfillToUint8ClampconversionNaNhandling inDate.prototype.setYearpolyfillWeakMapvalidation in the pure version{ Map, Set }.prototype.forEachmoments in the pure versionArray.isTemplateObjectpolyfill on frozen arrayObservable.fromwith multiple subscriptions of the obsolete ECMAScriptObservableproposal polyfillNumber.fromStringpolyfillesmodules: intersectoption ofcore-js-compatreactnativealias incore-js-compattypescore-js-builderblacklistoption ofcore-js-builder- it should be removed only in the next major releaseString.prototype.{ match, matchAll, replace, split }in modern engines, adds,dandvflag support to polyfills of those methodsNumber.fromStringproposalsiOSdetectionMath.sumPrecisemarked as shipped in V8 ~ Chrome 147Iterator.concatmarked as shipped in V8 ~ Chrome 146Iterator.concatmarked as shipped in Safari 26.4Array.prototype.includesmarked as not supported in modern SafariparseIntandparseFloatPostHog/posthog-js (posthog-js)
v1.361.1Compare Source
1.361.1
Patch Changes
c265d62Thanks @marandaneto! - fix: preserve_overrideSDKInfofrom terser mangling so wrapper SDKs can call it(2026-03-18)
v1.361.0Compare Source
1.361.0
Minor Changes
#3201
552c018Thanks @frankh! - Add a serviceName config option to logs config(2026-03-18)
#3240
e4a58d0Thanks @marandaneto! - Add internal_overrideSDKInfomethod to allow wrapper SDKs to override$liband$lib_versionevent properties(2026-03-18)
#3241
fe1fd7bThanks @dustinbyrne! - feat: addadvanced_feature_flags_dedup_per_sessionconfig option to scope$feature_flag_calleddeduplication to the current session(2026-03-18)
Patch Changes
#3239
bf4f078Thanks @jonathanlab! - fix: debug mode not persisting across page navigations(2026-03-18)
#3228
8773fdfThanks @TueHaulund! - fix: restart session recorder when session rotates externally while idle, preventing "Recording not found" for sessions where analytics events triggered session rotation(2026-03-18)
Updated dependencies [
552c018,fe1fd7b]:v1.360.2Compare Source
1.360.2
Patch Changes
bc30c2dThanks @dustinbyrne! - fix: Calling reset() now automatically reloads feature flags(2026-03-13)
bc30c2d,bc30c2d]:v1.360.1Compare Source
1.360.1
Patch Changes
4009c15]:v1.360.0Compare Source
1.360.0
Patch Changes
#3213
db089fdThanks @TueHaulund! - fix(replay): treat legacy configs without cache_timestamp as freshConfigs persisted by older SDK versions never include a cache_timestamp.
Defaulting to 0 treats them as always stale, causing the persisted config
to be cleared before start() runs — so recording never starts for
customers on older core SDK versions paired with the latest CDN recorder. (2026-03-09)
#3207
c5a37cbThanks @dustinbyrne! - fix: PostHogFeatureFlags uses a TreeShakeable type(2026-03-09)
Updated dependencies [
c5a37cb]:v1.359.1Compare Source
1.359.1
Patch Changes
2b0cd52Thanks @marandaneto! - chore: upgrade dompurify to 3.3.2(2026-03-06)
v1.359.0Compare Source
1.359.0
Minor Changes
9180726Thanks @dustinbyrne! - feat: Tree-shake feature flags(2026-03-05)
Patch Changes
v1.358.1Compare Source
1.358.1
Patch Changes
#3191
9f41d26Thanks @TueHaulund! - fix(replay): fall back to persisted config when remote config fetch failsWhen the remote config fetch failed (network error, ad blocker, CDN outage), the SDK received an empty
{}response with nosessionRecordingkey. TheonRemoteConfighandler returned early without ever setting_receivedFlags = true, leaving the recording permanently stuck inpending_configstatus for the entire page session.This removes the
_receivedFlagsgate entirely. The 1-hour TTL on persisted config (added in #3051, increased from 5 minutes) and the stale-config retry in_onScriptLoaded(added in #3093) already prevent recording from starting with outdated config. The additional gate was redundant and created a deadlock when the config fetch failed.Now when the config fetch fails,
startIfEnabledOrStop()is called and falls back to persisted config from a previous page load. If no persisted config exists (first-ever visit), recording is correctly disabled rather than silently stuck. (2026-03-04)#3198
9d0df0eThanks @TueHaulund! - Reduce session replay memory pressure by tracking per-event sizes in SnapshotBuffer, eliminating redundant JSON.stringify calls during buffer operations. Also bumps @posthog/rrweb to 0.0.46 which uses FNV-1a hash-based canvas frame deduplication instead of storing full base64 strings.(2026-03-04)
Updated dependencies []:
v1.358.0Compare Source
1.358.0
Minor Changes
0e08337Thanks @dustinbyrne! - feat: Tree-shake surveys, toolbar, exceptions, conversations, logs, experiments(2026-03-03)
Patch Changes
20c1ff2Thanks @dustinbyrne! - Add Extension interface for tree-shakable extensions(2026-03-03)
v1.357.2Compare Source
1.357.2
Patch Changes
f485c92Thanks @slshults! - fix: Move tablet detection logic into detectDeviceType for consistent classification across all call sites(2026-03-03)
v1.357.1Compare Source
1.357.1
Patch Changes
91223c5Thanks @adboio! - avoid re-checking URLs if they have not changed(2026-03-02)
5e8d5fc]:v1.357.0Compare Source
1.357.0
Minor Changes
4f885c0Thanks @marandaneto! - feat: add local sampleRate config for session recording(2026-03-02)
Patch Changes
0dce119Thanks @TueHaulund! - Bump @posthog/rrweb-* to 0.0.45 — reuses a single OffscreenCanvas in the canvas recording worker instead of allocating a new one per frame, fixing a memory leak in Safari where GPU-backed canvas resources were not being garbage collected promptly(2026-03-02)
4f885c0]:v1.356.2Compare Source
1.356.2
Patch Changes
#3174
e9127d8Thanks @TueHaulund! - Detect and report when rrweb fails to initialize. rrweb'srecord()silently swallows startup errors and returnsundefined, which previously left the SDK reporting an active recording status while capturing zero data. The SDK now checks the return value and reports a newrrweb_errorstatus, making the failure visible in debug properties.(2026-03-02)
#3175
6ee5f12Thanks @TueHaulund! - Fix memory leak in canvas recording on Safari < 16.4 where ImageBitmaps were never closed when OffscreenCanvas was unavailable in the web worker.(2026-03-02)
#3178
186871aThanks @TueHaulund! - Skip canvas FPS recording entirely on browsers without OffscreenCanvas support (Safari < 16.4) instead of running a wasteful requestAnimationFrame loop that can never produce data. Also includes displayWidth/displayHeight in canvas mutation data for correct replay sizing.(2026-03-02)
#3176
87bae20Thanks @dustinbyrne! - fix: Drop explicit exports(2026-03-02)
#3172
2e46959Thanks @dustinbyrne! - fix: Compressed requests use ArrayBuffer(2026-03-02)
Updated dependencies []:
v1.356.1Compare Source
1.356.1
Patch Changes
a500d14Thanks @ksvat! - wait for fresh config before recording start decision, add new recorder status, output recording started event(2026-02-27)
v1.356.0Compare Source
1.356.0
Minor Changes
ec54fd8Thanks @dmarticus! - Add feature_flag_cache_ttl_ms config to prevent stale flag values(2026-02-26)
Patch Changes
#3154
a47179cThanks @slshults! - fix: Improve tablet device type detection when Chrome sends desktop-like UA stringsChrome on Android tablets defaults to "request desktop site" mode, sending a UA string
indistinguishable from desktop Linux. This uses the Client Hints API (navigator.userAgentData.platform)
and touch capability (navigator.maxTouchPoints) to correctly classify these devices as Tablet or Mobile
when UA-based detection falls through to the Desktop default. (2026-02-26)
#3145
d741668Thanks @dmarticus! - Adds a remote_config_refresh_interval_ms config option to control how often feature flags are automatically refreshed in long-running sessions.(2026-02-26)
Updated dependencies [
ec54fd8,d741668]:v1.355.0Compare Source
1.355.0
Minor Changes
1d3f14cThanks @adboio! - add product tour wait period support(2026-02-26)
Patch Changes
v1.354.4Compare Source
1.354.4
Patch Changes
d6fd9c9Thanks @ksvat! - add re-entrancy guard for cases where ALL + regex + event trigger matching is configured(2026-02-26)
v1.354.3Compare Source
1.354.3
Patch Changes
77261d8Thanks @adboio! - add product tours device type targeting(2026-02-25)
v1.354.2Compare Source
1.354.2
Patch Changes
67cf41eThanks @dustinbyrne! - fix: Add additional legacy exports for fully qualified dist and lib exports(2026-02-25)
v1.354.1Compare Source
1.354.1
Patch Changes
9ae20e7Thanks @dustinbyrne! - fix: Expose all export paths(2026-02-25)
v1.354.0Compare Source
1.354.0
Minor Changes
4d0c783Thanks @dustinbyrne! - feat: Introduce internal config to improve tree-shaking(2026-02-25)
Patch Changes
v1.353.1Compare Source
1.353.1
Patch Changes
0b86924Thanks @adboio! - fix autofill bug in hosted surveys(2026-02-24)
v1.353.0Compare Source
1.353.0
Minor Changes
fba7e5bThanks @dustinbyrne! - feat: Persist $user_state to cookie for server-side access(2026-02-23)
Patch Changes
v1.352.1Compare Source
1.352.1
Patch Changes
#3129
6bfa003Thanks @pauldambra! - fix: no need to put rrweb and friends directly on window in posthog-recorder(2026-02-23)
#3131
ad26474Thanks @veryayskiy! - Fix issue with toolbar interferring distinct id in conversations(2026-02-23)
Updated dependencies []:
v1.352.0Compare Source
1.352.0
Minor Changes
c3c9780Thanks @veryayskiy! - Ability to retrieve previous conversations(2026-02-20)
Patch Changes
v1.351.4Compare Source
1.351.4
Patch Changes
2649a9aThanks @dmarticus! - Adds a fresh option to getFeatureFlag(), getFeatureFlagResult(), and isFeatureEnabled() that only returns values loaded from the server, not cached localStorage values.(2026-02-19)
2649a9a]:v1.351.3Compare Source
1.351.3
Patch Changes
1a53e8cThanks @adboio! - add animation option for tour banners(2026-02-19)
v1.351.2Compare Source
1.351.2
Patch Changes
d964a31Thanks @adboio! - add banner click tracking for tours(2026-02-19)
v1.351.1Compare Source
1.351.1
Patch Changes
c0b911dThanks @adboio! - prevent infinite recursion bug with 3rd party proxy on posthog(2026-02-18)
v1.351.0Compare Source
1.351.0
Minor Changes
8655261Thanks @veryayskiy! - Strip markdown in tickets list(2026-02-18)
Patch Changes
9dbc05eThanks [@ablaszkiewicz](httConfiguration
📅 Schedule: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.